/********************************************************************************
 *      Copyright:  (C) 2024 LingYun<iot25@lingyun>
 *                  All rights reserved.
 *
 *       Filename:  log_system.h
 *    Description:  This file 
 *
 *        Version:  1.0.0(09/12/24)
 *         Author:  LingYun <iot25@lingyun>
 *      ChangeLog:  1, Release initial version on "09/12/24 18:32:18"
 *                 
 ********************************************************************************/
#ifndef _LOG_SYS_H
#define _LOG_SYS_H

// 日志级别
typedef enum {
    LOG_DEBUG,
    LOG_INFO,
    LOG_WARN,
    LOG_ERROR
} LogLevel;

// 日志配置结构体
typedef struct {
    FILE *log_file;        // 日志文件指针
    LogLevel log_level;    // 日志输出的最低级别
    int console_output;    // 是否输出到标准输出（1：是，0：否）
    char log_file_name[256]; // 日志文件名
} LogConfig;


int log_init(const char *log_file_name,LogLevel log_level, int console_output);
void log_rollover();
void log_write(LogLevel level, const char *file, const char *func, int line, const char *fmt,...);
void log_close();

#endif

